// bootStrapTable：表格对象  tableId：表格ID  searchButId：搜索按钮ID
var bootStrapTable , tableId = "sysParamList" , searchButId = "search_btn" , baseUrl = "/sysParam/";
// 列表路径
var listUrl = baseUrl +"findSysParamList";

// 删除路径
var deleteUrl = baseUrl+ "deleteSysParamById/";

// 通过ID获取变量
var findOne = baseUrl+"findOneById/";

// 提交路径
var submitUrl = baseUrl+"submitSysParam";

//title 表头  field 对象属性 formatter 进行资源操作 -> 可以调用js方法，传入三个参数 value：该列的值，row：当前对象 index：当前下标
var columns =
    [
        { title : '编码', field : 'code'},
        { title : '名称', field : 'name' },
        { title : '父级Id', field : 'pId', },
        { title : '状态', field : 'status', formatter : formatStatus},
        { title : '系统字典', field : 'isSystem' , formatter : formatIsSystem},
        { title : '操作', field : 'id', formatter : operation, }
    ];

// 就绪函数
$(function (){
    // 表格初始化方法
    initTable();
    // 按钮绑定事件
    bindBut();
})

//value代表该列的值，row代表当前对象 index表示当前下标
function formatStatus(value, row, index) {
    return value == 1 ? "启用" : "禁用";
}
function formatIsSystem(value, row, index) {
    return value == 1 ? "是" : "否";
}

//删除、编辑操作
function operation(value, row, index) {
    var htm = "<button class='btn btn-danger' onclick='del(\""+value+"\")'>删除</button>" ;
    htm+="<button class='btn btn-success' onclick='update(\""+value+"\")'>修改</button>";
    htm+="<a href='/sysParam/list?sysParamId="+row.id+"'>下一级</a>";
    return htm;
}

//-----------------------------------时间格式化----------------------------
// value 当前的值  row 当前对象  index 当前下标
function formatTime(value, row, index) {
    let crtTime = new Date(value);
    var fmt_one = "yyyy-MM-dd hh:mm:ss";
    var fmt_two = "yyyy-MM-dd";
    return Dateformat(fmt_one,crtTime);
}
function Dateformat(format,date) {
        var o = {
            "M+" : date.getMonth()+1,       //month     日期
            "d+" : date.getDate(),          //day       日
            "h+" : date.getHours(),         //hour      小时
            "m+" : date.getMinutes(),       //minute    分
            "s+" : date.getSeconds(),       //second    秒
            "q+" : Math.floor((date.getMonth()+3)/3), //quarter   季度
            "S" : date.getMilliseconds()    //millisecond   毫秒
        }
        if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
            (date.getFullYear()+"").substr(4- RegExp.$1.length));
        for(var k in o)if(new RegExp("("+ k +")").test(format))
            format = format.replace(RegExp.$1,
                RegExp.$1.length==1? o[k] :
                    ("00"+ o[k]).substr((""+ o[k]).length));
        return format;
}

function del(id){
    $.ajax({
        url:deleteUrl+id,
        method: "get",
        success:function (data) {
            alert(data.msg);
            if (data.status == 1){
                bootStrapTable.bootstrapTable('refresh');
            }
        }
    })
}

function submitSysParam(){
    $.ajax({
        url:submitUrl,
        method: "get",
        data: $("#sysParamData").serialize(),
        success:function (data) {
            alert(data.msg);
            if (data.status == 1){
                bootStrapTable.bootstrapTable('refresh');
                $('#myModal').modal('hide');
                $("#sysParamData")[0].reset();
                $("#updId").val("");
            }
        }
    })
}


function update(id){
    $.ajax({
        url:findOne+id,
        method: "get",
        success:function (data) {
            var sysParam = data.data;

            $("#updId").val(sysParam.id);
            $("#updCode").val(sysParam.code);
            $("#updName").val(sysParam.name);
            $("#updPid").val(sysParam.pid);
            $("#updStatus").val(sysParam.status);
            $("#updIsSystem").val(sysParam.isSystem);

            $('#myModal').modal('show');
        }
    })
}

// 表格初始化
function initTable(){
    // 表格初始化  $('#'+tableId) -> $('#sysParamList')
    bootStrapTable = $('#'+tableId).bootstrapTable({
        method : 'get',
        url : listUrl,//请求路径
        striped : true, //是否显示行间隔色
        pageNumber : 1, //初始化加载第一页
        pagination : true,//是否分页
        sidePagination : 'server',//server:服务器端分页|client：前端分页
        pageSize : 4,//单页记录数
        pageList : [ 5, 10, 20, 30 ],//可选择单页记录数
        showRefresh : true,//刷新按钮
        queryParams : function (params) { // ############查询参数##############
            var temp = {
                limit : params.limit, // 每页显示数量
                offset : params.offset, // SQL语句起始索引
                page: (params.offset / params.limit) + 1,   //当前页码
                //$$$$$查询的时候进行添加参数就好了￥￥￥￥￥
                pId:$('#pid').val(),
            };
            return temp;
        },
        columns : columns
    })
}
// 绑定函数
function bindBut(){
    //查询按钮事件
    $('#'+searchButId).click(function() {
        bootStrapTable.bootstrapTable('refresh');
    })
}
